home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 5
/
Aminet 5 - March 1995.iso
/
Aminet
/
hard
/
misc
/
CheckMem.lha
/
CheckMem.doc
< prev
next >
Wrap
Text File
|
1994-12-11
|
4KB
|
107 lines
NAME
CheckMem - check any memory while retaining multitasking
FUNCTION
CheckMem is a memory diagnosis tool that can check any memory
region, even while it is in use, or is unknown to the system.
CheckMem requires OS 2.01 or later.
USAGE
CheckMem [[FROM] start [TO] end] [TIMES cycles] [FORCE] [QUIET]
CheckMem FROM,TO,TIMES/N/K,FORCE/S,QUIET/S
SEE THE WARNING SECTION BELOW BEFORE YOU USE CHECKMEM!
Started without arguments, CheckMem will check the memory it finds
on the Exec memory list. This means all the memory the system knows
about.
If given a memory region (addresses hexadecimal, with optional
leading 0x), that region will be checked. CheckMem will first look
on the Exec memory list whether the system knows that memory
exists inside the given region. If the system is unaware of the
memory, CheckMem will abort, unless the FORCE keyword was
specified. With that keyword, CheckMem will check _any_ address.
That includes the custom chipset at 0xDFF000, so be *CAREFUL* not
to specify a region that would include it. Writing to, or even
reading, the custom chipset registers will cause unexpected
effects and a certain crash.
Using the QUIET keyword will make CheckMem suppress progress
information.
CheckMem is Enforcer aware, and will not check unknown addresses
if it is running. The reason for this is that Enforcer marks,
using the MMU, unknown memory region out of bounds, and thus
checking it while Enforcer is running will just create problems
and not help a bit.
Other MMU tools might have this effect also. CheckMem does not,
however, look for these. This might create a BIG problem.
In particular, using CheckMem while virtual memory utilities are
used can create major problems. See the section WARNING below.
CheckMem will let the system go on while memory checking is in
progress. It checks even the currently allocated memory without
affecting the programs the memory belongs to.
This is done by checking the memory in small (32 byte) chunks,
during which the interrupts are disabled. The old contents of the
memory are placed back after the address is checked against the
bit patterns 0x00000000, 0xFFFFFFFF, 0x55555555 and 0xAAAAAAAA.
This test can have an effect on timing critical programs. In
particular, serial I/O can be affected.
Recommended usage:
Leave CheckMem running for an extended period of time. Not all
errors happen constantly, so the longer you run it, the more
likely you are to catch random problems. Try
CheckMem TIMES 600 QUIET >DF0:CheckMem.log
WARNING
Possible problem areas:
DMA - I can't disable DMA. If your HD controller happens to access
the memory CheckMem is testing at the very moment, BAD SHIT WILL
HAPPEN. Solution: Don't access your HD unless you are sure your HD
controller does not use DMA. Don't use floppies either. There are
other things to watch out for, but it depends on your system.
MMU - MMU address mapping can create HUGE PROBLEMS. Don't use MMU
tools (VMM, and GigaMem in particular) while using CheckMem.
Enforcer shouldn't be a problem.
COPYRIGHT
CheckMem is Copyright © 1994 by Osma Ahvenlampi. All rights
reserved.
CheckMem may be freely distributed for no or small fee provided
that this documentation file is accompanied in unchanged form.
DISCLAIMER
CHECKMEM IS PROVIDED "AS IS". IN USING CHECKMEM, YOU ACCEPT THE
RESPONSIBILITY FOR ANY DAMAGE OR LOSS THAT MAY OCCUR DURING OR
BECAUSE OF ITS USE, DIRECTLY OR INDIRECTLY. THE FITNESS OF
CHECKMEM FOR ANY USE OR PURPOSE IS NOT GUARANTEED. THE AUTHOR IS
NOT, AND CAN NOT BE HELD LIABLE FOR ANYTHING.
STATUS
CardWare - if you use this program, send a postcard to the author
AUTHOR
Osma Ahvenlampi <Osma Ahvenlampi@hut.fi>
Osma Ahvenlampi
Rekipellontie 2 F 55
00940 Helsinki
Finland